1. Field of the Invention
The invention relates to a method and apparatus for controlling a data communication system comprising a plurality of terminals connected to a central control.
2. Description of the Related Art
Such a system is found in many forms, for example, public or private telephone systems, computer communication network, data network and so on. Characteristic of all these systems is that a connection has to be built up, maintained and disrupted between terminals connected to the system. A terminal may be a telephone set, a data unit, a visual display unit and so on. In order to describe the problems which may occur in such systems, they will be set out in detail with reference to a telephone system.
A telephone system, particularly viewed on the side of its user, deals with calls which require establishing, maintaining and disrupting connections between terminals of the system. Any call can be regarded as a process, and because a plurality of calls can occur simultaneously in the system, many processes are simultaneously carried out in parallel.
In principle the processes can be carried out by the central control in two ways (see, for example, M. T. Hills and S. Kano, Programming Electronic Switching Systems, P. Peregrinus Ltd. Sevennage, Eng., in particular, Paragraph 2.2-2.4). The first way of processing is based on carrying out each of the calls as a whole. Because a call involves a number of terminals, each of which may be in a number of states, a system based on processing all calls individually is complicated by duplication (in some cases multi-duplication) of processing means. In many of the different states of a terminal the same function may be demanded, for example, numbers may be expected in the "off hook" state and also in the called state. In both cases these functions require independent means (coding) giving rise to extra memory space and to an extra source of errors. The second way of processing is based on terminal processing, in which the terminal processes forming part of the same call are interrelated in some manner. The drawback of this manner of processing is that, because the terminal processes are dealt with in parallel, more than one terminal process are worked in one and the same process, which increases the complexity (for example, by "crossing messages").